package com.cloud.salon.common.crud.service;

import com.cloud.salon.common.base.response.Res;
import com.cloud.salon.common.base.entity.BaseEntity;

import java.util.List;

/*
 * @Description CRUD通用业务处理接口
 * @Author wolf--LZH
 * @CreateDate 2019/4/9 0009 下午 9:54
 */
public interface CRUDService<T extends BaseEntity> {

    /*
     * @Description 通过id获取实体
     * @Author wolf--LZH
     */
    Res<T> findById(Integer id);

    /*
     * @Description 获取所有实体
     * @Author wolf--LZH
     */
    Res<List<T>> findAll();

    /*
     * @Description 保存实体
     * @Author wolf--LZH
     */
    Res<T> save(T t);

    /*
     * @Description 通过
     * @Author wolf--LZH
     */
    Res<T> update(T t);

    /**
     * 由id删除实体
     *
     * @param id
     */
    Res<Boolean> deleteById(Integer id);

    /*
     * @Description 批量添加
     * @Author wolf--LZH
     */
    Res<List<T>> saveAll(List<T> entitys);

    /*
     * @Description 批量修改
     * @Author wolf--LZH
     */
    Res<List<T>> updateAll(List<T> entitys);

    /*
     * @Description 批量删除
     * @Author wolf--LZH
     */
    Res<Integer> deleteByIdAll(List<Integer> ids);
}
